package com.zhuoyue.biz.core.api.service;

import com.zhuoyue.biz.core.api.dto.rep.TimedTaskReqDTO;

import java.util.List;

/**
 * @author zhanghui
 */
public interface DeviceTaskService {
    /**
     * 新增或修改定时任务
     *
     * @param zigbeeMac zigbeeMac
     * @param taskIndex taskIndex
     * @return 修改的行数
     */
    int addOrUpdateDeviceTask(String zigbeeMac, int taskIndex);

    /**
     * 根据红外学习仪ID和任务序号查询ID
     *
     * @param zigbeeMac zigbeeMac
     * @param taskIndex taskIndex
     * @return ID，没有则返回null
     */
    String getIdByZigbeeMacAndIndex(String zigbeeMac, int taskIndex);

    /**
     * 获取定时任务信息
     *
     * @param zigbeeMac 红外学习仪MAC
     * @return List<TimedTaskReqDTO>
     */
    List<TimedTaskReqDTO> getTasksByZigbeeMac(String zigbeeMac);

    /**
     * 根据红外学习仪MAC和任务序号删除任务
     *
     * @param zigbeeMac zigbeeMac
     * @param taskIndex taskIndex
     * @return 修改的行数
     */
    int deleteDeviceTask(String zigbeeMac, int taskIndex);

    /**
     * 删除所有定时任务
     * @param zigbeeMac
     * @return
     */
    int deleteAll(String zigbeeMac);
}
